home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.1 (Developer) [x86] / NeXT Step 3.1 Intel dev.cdr.dmg / NextDeveloper / Headers / bsd / dev / i386 / video.h < prev   
Encoding:
C/C++ Source or Header  |  1993-04-30  |  3.2 KB  |  128 lines

  1. /*
  2.  *    Copyright (C) 1989, NeXT, Inc.
  3.  *
  4.  * HISTORY
  5.  *
  6.  * 01-Mar-90  Ted Cohn (tcohn) at NeXT
  7.  *    Added DKIOCREGISTER ioctl to register the MegaPixel with ev driver.
  8.  *
  9.  * 28-Feb-90  John Seamons (jks) at NeXT
  10.  *    Added STOP_ANIM flag.
  11.  *
  12.  * 12-Aug-87  John Seamons (jks) at NeXT
  13.  *    Created.
  14.  */
  15.  
  16. #ifndef    _VIDEO_
  17. #define    _VIDEO_
  18.  
  19. /* default display parameters */
  20. #define VIDEO_W            1120    /* was 1120 */
  21. #define VIDEO_MW        1120    /* was 1152 */
  22. #define VIDEO_H            832    /* was 832  */
  23. #define VIDEO_MH        832    /* was 910  */
  24.  
  25. #define    WHITE            0x00000000
  26. #define    LT_GRAY            0x55555555
  27. #define    DK_GRAY            0xaaaaaaaa
  28. #define    BLACK            0xffffffff
  29.  
  30. /*
  31.  * JAWS framebuffer (DELL)
  32.  */
  33. #define JAWS_VIDEO_W        VIDEO_W    /* 1120 x 832 mode */
  34. #define JAWS_VIDEO_MW        VIDEO_MW
  35. #define JAWS_VIDEO_H        VIDEO_H
  36. #define JAWS_VIDEO_MH        VIDEO_MH
  37. #define JAWS_VIDEO_NBPL        (JAWS_VIDEO_MW * 2)    /* 2 bytes/pixel */
  38.  
  39. #define JAWS_NPPW        2    /* 2 pixels per word. */
  40. #define    JAWS_WHITE        0xFFF0FFF0
  41. #define    JAWS_LT_GRAY        0xAAA0AAA0
  42. #define    JAWS_DK_GRAY        0x55505550
  43. #define    JAWS_BLACK        0
  44.  
  45. /*
  46.  * COMPAQ 444
  47.  */
  48. #define COMPAQ_VIDEO_W        800
  49. #define COMPAQ_VIDEO_MW        800
  50. #define COMPAQ_VIDEO_H        (600-28)    /* Hardware BUG ?? */
  51. #define COMPAQ_VIDEO_MH        (600-28)
  52. #define COMPAQ_VIDEO_NBPL    (COMPAQ_VIDEO_MW * 2)    /* 2 bytes/pixel */
  53.  
  54. #define COMPAQ_NPPW        2    /* 2 pixels per word. */
  55. #define    COMPAQ_WHITE        0xFFF0FFF0
  56. #define    COMPAQ_LT_GRAY        0xAAA0AAA0
  57. #define    COMPAQ_DK_GRAY        0x55505550
  58. #define    COMPAQ_BLACK        0
  59.  
  60. #ifndef    ASSEMBLER
  61. struct mwf {
  62.     int min;        /* range of va's that need.. */
  63.     int max;        /* ..to also map mem write funcs */
  64. };
  65.  
  66. struct alarm {
  67.     int    alarm_enabled;
  68.     int    alarm_time;
  69. };
  70.  
  71. #if !defined(__Bounds__) && !defined(BINTREE_H)
  72. #define __Bounds__
  73. typedef struct { short minx, maxx, miny, maxy; } Bounds;
  74. #endif
  75. #if !defined(__Point__) && !defined(BINTREE_H)
  76. #define __Point__
  77. typedef struct { short x, y; } Point;
  78. #endif
  79.  
  80. struct vidRGBCursor {
  81.     unsigned short image[4][256];
  82.     unsigned short save[256];
  83. };
  84.  
  85. typedef struct {
  86.     int frame;
  87.     int cursorSema;
  88.     char cursorShow;
  89.     char cursorObscured;
  90.     char shieldFlag;
  91.     char shielded;
  92.     Bounds saveRect;
  93.     Bounds shieldRect;
  94.     Point cursorLoc;
  95.     Bounds cursorRect;
  96.     Bounds oldCursorRect;
  97.     Bounds screenBounds;
  98.     Point hotSpot[4];
  99.     union {
  100.     struct {
  101.         unsigned int image[4][16];
  102.         unsigned int mask[4][16];
  103.         unsigned int save[16];
  104.     } bw;
  105.     struct vidRGBCursor rgb;
  106.     } cursor;
  107. } vidShmemStruct;
  108.  
  109. #define VIDSETSEMA() if (msp->cursorSema) return 1; else msp->cursorSema = 1
  110. #define VIDCLEARSEMA() msp->cursorSema = 0
  111. #endif    ASSEMBLER
  112.  
  113. #define    DKIOCGADDR    _IOWR('v', 0, int)    /* get address of video mem */
  114. #define    DKIOCSMWF    _IOWR('v', 1, struct mwf) /* set mwf bounds */
  115. #define    DKIOCBRIGHT    _IOWR('v', 2, int)    /* get/set brightness */
  116. #define    DKIOCDISABLE    _IO('v', 3)        /* disable translation */
  117. #define    DKIOCGNVRAM    _IOR('v', 4, struct nvram_info) /* get NVRAM */
  118. #define    DKIOCSNVRAM    _IOW('v', 4, struct nvram_info) /* set NVRAM */
  119. #define    DKIOCREGISTER    _IO('v', 5)            /* register screen */
  120. #define    DKIOCGFBINFO    _IO('v', 6) /* Get info on built-in frame buffer */
  121. #define    DKIOCGALARM    _IOR('v', 7, struct alarm)    /* get RTC alarm */
  122. #define    DKIOCSALARM    _IOW('v', 7, struct alarm)    /* set RTC alarm */
  123.  
  124. #endif    _VIDEO_
  125.  
  126.  
  127.  
  128.